iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0

filter 是一個在許多程式語言中常用的函數或方法,它用於過濾、篩選或選取集合中符合特定條件的元素,並返回一個新的集合,該集合只包含符合條件的元素。以下是關於 filter 函數的一些概念:

過濾集合: filter 函數的主要目的是過濾集合(通常是列表、數組、集合或其他可迭代對象)中的元素,只保留那些符合特定條件的元素,並剔除不符合條件的元素。

條件函數: 在使用 filter 函數時,你需要提供一個稱為「條件函數」的函數或lambda表達式。這個條件函數將應用於集合中的每個元素,並根據其返回值(True或False)來判斷該元素是否應包含在過濾後的結果中。

新集合: filter 函數將返回一個新的可迭代對象(通常是一個新的列表、數組或集合),其中僅包含符合條件的元素。

延遲評估: filter 函數通常使用延遲評估(lazy evaluation)的方式,這意味著它不會立即計算或創建過濾後的集合,而是在需要時才進行計算。這可以節省資源,特別是當處理大量數據時。

以下是一個示例,演示了如何使用 filter 函數在Python中過濾一個列表中的元素:

python
Copy code

定義一個條件函數,用於檢查是否為偶數

def is_even(num):
return num % 2 == 0

創建一個列表

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

使用filter過濾出偶數

even_numbers = filter(is_even, numbers)

將過濾後的結果轉換為列表

even_numbers_list = list(even_numbers)

輸出過濾後的結果

print(even_numbers_list) # 輸出: [2, 4, 6, 8, 10]
在這個示例中,我們定義了一個名為 is_even 的條件函數,它檢查一個數字是否為偶數。然後,我們使用 filter 函數來過濾出列表 numbers 中的偶數,最後將過濾後的結果轉換為一個新的列表 even_numbers_list。


上一篇
break
下一篇
lambda
系列文
少子化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言